home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / tests / testapp.pyo (.txt) < prev   
Python Compiled Bytecode  |  2008-10-13  |  4KB  |  116 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. import sys
  5. import wx
  6. import digsbysite
  7. import logextensions
  8. from util import Storage, Delegate
  9.  
  10. def discover_res_dir():
  11.     path = path
  12.     import path
  13.     p = path('.').abspath()
  14.     if _isdigsbyroot(p):
  15.         return p
  16.     
  17.     p2 = p.parent
  18.     while p != p2:
  19.         if _isdigsbyroot(p2):
  20.             return p2
  21.         
  22.         p = p2
  23.         p2 = p2.parent
  24.     raise Exception('could not find res dir')
  25.  
  26.  
  27. def _isdigsbyroot(p):
  28.     return (p / 'res' / 'skins' / 'default').isdir()
  29.  
  30.  
  31. def testapp(pypath = None, appname = 'Digsby', skinname = 'default', prefs = None, username = 'megazord', on_message = (lambda message: pass)):
  32.     import sys as sys
  33.     import gettext as gettext
  34.     import os.path as os
  35.     gettext.install(appname, unicode = True)
  36.     app = wx.PySimpleApp()
  37.     app.SetAppName(appname)
  38.     skin = skin
  39.     import gui
  40.     setuplogging = setuplogging
  41.     import gui.toolbox
  42.     setuplogging()
  43.     init_wx = init_wx
  44.     import stdpaths
  45.     init_wx()
  46.     wx.Log.SetActiveTarget(wx.LogStderr())
  47.     app.PreShutdown = Delegate()
  48.     if pypath is None:
  49.         pypath = discover_res_dir()
  50.     
  51.     skin.skininit(os.path.join(pypath, 'res'), skinname = skinname)
  52.     sys.path.insert(0, pypath)
  53.     Storage = Storage
  54.     import util
  55.     flatten = flatten
  56.     import prefs.prefsdata
  57.     import syck as syck
  58.     ObservableDict = ObservableDict
  59.     import util.observe
  60.     prefs_path = os.path.join(pypath, 'res', 'defaults.yaml')
  61.     prefs = None if prefs is not None else ObservableDict()
  62.     prefs.update({
  63.         'appearance.skin': skinname,
  64.         'appearance.variant': None })
  65.     ObservableDict = ObservableDict
  66.     import util.observe
  67.     sys.modules['digsbyprofile'] = Storage()
  68.     import digsbyprofile
  69.     digsbyprofile.profile = Storage(name = username, username = username, prefs = prefs, on_message = on_message)
  70.     f = file(prefs_path)
  71.     defaults = Storage(flatten(syck.load(f)))
  72.     f.close()
  73.     user = ObservableDict(defaults)
  74.     import common as common
  75.     common.setfakeprefs(user)
  76.     
  77.     def toggle_prefs(user = user, defaults = defaults):
  78.         import prefs
  79.         prefs.edit(user, defaults, None)
  80.  
  81.     
  82.     def toggle_crust(app = app):
  83.         if not getattr(app, 'crust', None):
  84.             import gui as gui
  85.             wins = wx.GetTopLevelWindows()
  86.             parent = None if wins else None
  87.             app.crust = gui.PyCrustFrame(None)
  88.             if parent is not None:
  89.                 parent.crust = app.crust
  90.             
  91.             app.crust.Bind((wx.EVT_CLOSE,), (lambda evt: app.Exit()))
  92.         
  93.         app.crust.toggle_shown()
  94.         if app.crust.IsShown():
  95.             app.crust.crust.SetFocus()
  96.         
  97.  
  98.     
  99.     def on_key(e):
  100.         code = e.GetKeyCode()
  101.         if code == wx.WXK_F11:
  102.             toggle_prefs()
  103.         elif code == wx.WXK_F12:
  104.             toggle_crust()
  105.         elif code == wx.WXK_F5:
  106.             skin = skin
  107.             import gui
  108.             skin.reload()
  109.         else:
  110.             e.Skip()
  111.  
  112.     app.Bind(wx.EVT_KEY_DOWN, on_key)
  113.     app.toggle_crust = toggle_crust
  114.     return app
  115.  
  116.